package ACwing.P4Math.CommonDivisor;


import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * @Date : 2023-03-16
 * @Description:870. 约数个数
 * 定理
 * 如果N=p1^a1 *p2^a2 * pk^ak
 * 他的其中一个约数 d=p1^b1 *p2^b2 * pk^bk
 * b1~bk每一个不同的取法都是他的一个约数,  eg  b1有 0~a1  共a1+1种写法，
 * 则约数个数（a1+1)(a2+1)……(ak+1)
 * 约数之和  （p1^0+p1^1+p1^a)……(pk^0+pk^1+pk^ak)
 * 展开后每一项都是（p1^b1 ……*pk^bk)  每一个都是其中的一个约数
 */
public class CountFactor {
    static int N=100010;
    static int  mod= (int) (1e9+7);
    static Map<Integer,Integer> primes =new HashMap<>();//题目范围太大，结果可能很大，存所有质因素的指数
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        while (n--!=0){
            int x = scanner.nextInt();
            //分解质因数模板
            
            for (int i = 2; i <=x/i ; i++) {
                while(x%i==0){
                    x/=i;
                    // map.getOrDefault(i,0) 这个是获取对应i位置的values值
                    primes.put(i,primes.getOrDefault(i,0) + 1);
                }
            }
            if(x > 1) primes.put(x,primes.getOrDefault(x,0)  + 1 ); //执行完 一个较大的质因数
        }
        long  res=1;
        //map.keySet()获取所有的key值,map.values()获取所有的values值，两种方法都可以
        for(int  key: primes.values()) res =  (res * (key + 1) % mod);//乘的时候取模避免越界
        System.out.println(res);
    }
}
